<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ include file="/static/include/taglib.jsp" %>
<!DOCTYPE html >
<html>
<head>
    <meta name="viewport" content="width=device-width"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>后台管理--通用编码列表</title>
    <link href="${ctxStatic}/layui/css/layui.css" rel="stylesheet"/>
    <link href="${ctxStatic}/css/kpiui.css" rel="stylesheet"/>
    <script src="${ctxStatic}/js/jquery-1.8.3.min.js?v=2.0" type="text/javascript"></script>
    <script src="${ctxStatic}/layui/layui.all.js" type="text/javascript"></script>
    <script src="${ctxStatic}/js/sys/generalcode.js" type="text/javascript"></script>
    <script src="${ctxStatic}/js/common.js" type="text/javascript"></script>

    <style>

        .titleInfo {
            color: red;
            text-align: center;
            font-size: 18px;
            margin-left: -423px;

        }

    </style>
</head>
<body>
<input type="hidden" id="hidecode" value="${code}">
<div class="serchcontent" style="margin-top: 20px">
    <div class="search">
        <div class="layui-form">
            <table>
                <tr>
                    <td>上月</td>
                    <td>开始时间</td>
                    <td class="td_select">
                        <input type="text" class="layui-input" id="starttime">

                    </td>

                    <td>结束时间</td>
                    <td class="td_select">
                        <input type="text" class="layui-input" id="endtime">


                    </td>
                    <td><input type="button" class="button" value="保存" onclick="save(1)"/></td>

                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
            </table>
            <div class="titleInfo">例如：当前时间为8月，7月份考勤的公示设置为：<br>上月：开始时间2018年7月31，结束时间2018年8月10日</div>

            <table>
                <tr>

                    </td>
                </tr>
                <tr>

                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td>当月</td>
                    <td>开始时间</td>
                    <td class="td_select">
                        <input type="text" class="layui-input" id="nowstarttime">

                    </td>

                    <td>结束时间</td>
                    <td class="td_select">
                        <input type="text" class="layui-input" id="nowendtime">


                    </td>
                    <td><input type="button" class="button" value="保存" onclick="save(2)"/></td>

                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
                <tr>
                    <td colspan="6">&nbsp;</td>
                </tr>
            </table>

            <div class="titleInfo">

                例如：当前时间为8月，8月份的考勤公示设置为：<br> 当月：开始时间为2018年8月30日，结束时间2018年9月10日

            </div>

        </div>
    </div>
</div>
<div class="table_title" id="table_title"></div>
<div id="configureList" class="list" lay-filter="configureList"></div>

<div id="orgsuylist" class="list  layui-form " lay-filter="orgsuylist">


</div>
<script type="text/html" id="opera">

    <img class="btn-img" src="${ctxStatic}/images/button/tijiao.png" lay-event="tijiao" alt="编辑" title="编辑">


</script>
</div>

</body>
<script>

    var _table = null;
    $(function () {


        layui.use('laydate', function () {
            var laydate = layui.laydate;

            laydate.render({
                elem: '#starttime' //指定元素
                , type: 'date'
                , min: getPreMonth()
                , max: getFrontEndTime()
            });

            laydate.render({
                elem: '#endtime' //指定元素
                , type: 'date'
                , min: getPreMonth()
                , max: getFrontEndTime()
            });

            laydate.render({
                elem: '#nowstarttime' //指定元素
                , type: 'date'
                , min: getNowStart()
                , max: getNextMonth()
            });

            laydate.render({
                elem: '#nowendtime' //指定元素
                , type: 'date'
                , min: getNowStart()
                , max: getNextMonth()
            });
        });

        layui.use('form', function () {
            var form = layui.form; //只有执行了这一步，部分表单元素才会自动修饰成功

            form.render();
        });
        initTable();
    })

    function getNowStart() {

        var date = new Date();
        return new Date(date.getFullYear(), date.getMonth(), 15).format('yyyy-MM-dd');

    }

    function getFrontEndTime() {

        var date = new Date();

        var rs = new Date(date.getFullYear(), date.getMonth(), 15).format('yyyy-MM-dd')
        return rs;
    }

    function getNextMonth() {
        var year = new Date().getFullYear(); //获取当前日期的年份
        var month = new Date().getMonth() + 1; //获取当前日期的月份
        var day = new Date().getDate(); //获取当前日期的日
        var days = new Date(year, month, 0);
        days = days.getDate(); //获取当前日期中的月的天数
        var year2 = year;
        var month2 = parseInt(month) + 1;
        if (month2 == 13) {
            year2 = parseInt(year2) + 1;
            month2 = 1;
        }
        var day2 = day;
        var days2 = new Date(year2, month2, 0);
        days2 = days2.getDate();
        if (day2 > days2) {
            day2 = days2;
        }
        if (month2 < 10) {
            month2 = '0' + month2;
        }

        var t2 = year2 + '-' + month2 + '-' + 15;
        return new Date(t2).format('yyyy-MM-dd');
    }

    function getPreMonth() {

        var year = new Date().getFullYear(); //获取当前日期的年份
        var month = new Date().getMonth() + 1; //获取当前日期的月份
        var day = new Date().getDate(); //获取当前日期的日
        var days = new Date(year, month, 0);
        days = days.getDate(); //获取当前日期中月的天数
        var year2 = year;
        var month2 = parseInt(month) - 1;
        if (month2 == 0) {//如果是1月份，则取上一年的12月份
            year2 = parseInt(year2) - 1;
            month2 = 12;
        }
        var day2 = day;
        var days2 = new Date(year2, month2, 0);
        days2 = days2.getDate();
        if (day2 > days2) {//如果原来日期大于上一月的日期，则取当月的最大日期。比如3月的30日，在2月中没有30
            day2 = days2;
        }
        // if (month2 < 10) {
        //     month2 = '0' + month2;//月份填补成2位。
        // }
        var t2 = year2 + '-' + month2 + '-' + 15;
        return new Date(t2).format('yyyy-MM-dd');
    }


    function getCurrentMonthLast() {
        var date = new Date();
        var currentMonth = date.getMonth() + 1;
        var nextMonth = ++currentMonth;
        var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 15);
        var oneDay = 1000 * 60 * 60 * 24;


        return new Date(date.getFullYear() + '-' + currentMonth + '-15').format('yyyy-MM-dd');
    }

    function initTable() {

        $.ajax({
            type: "POST",
            url: "get_list",
            data: {
                name: '',
                code: $('#hidecode').val()
            },
            beforeSend: function (XHR) {

            },
            success: function (data) {

                data = eval('(' + data + ')');
                data = data.data;

                for (var i = 0; i < data.length; i++) {

                    var element = data[i];
                    if (element.type == 1) {
                        window.frontId = data[i].id;
                        $('#starttime').val(new Date(data[i].starttime).format('yyyy-MM-dd'));
                        $('#endtime').val(new Date(data[i].endtime).format('yyyy-MM-dd'));
                    } else {
                        window.nowId = data[i].id;

                        $('#nowstarttime').val(new Date(data[i].starttime).format('yyyy-MM-dd'));
                        $('#nowendtime').val(new Date(data[i].endtime).format('yyyy-MM-dd'));

                    }

                }

            },
            complete: function (XHR) {

            },
            error: function () {

            }
        });


        // layui.use('table', function () {
        //     table = layui.table;
        //     table.render({
        //         elem: '#configureList'
        //         , height: $(window).height() - 140
        //         , url: 'get_list' // 数据接口
        //         , page: false // 开启分页
        //
        //         , id: 'configureList'
        //         , method: "post"
        //         , cols: [[ // 表头
        //             {type: 'numbers'}
        //             //{field : 'rowNum',title : '序号',width : 70,align : 'center'}
        //             , {field: 'code', title: '编码', width: 170, align: 'center'}
        //             , {field: 'name', title: '名称', width: 70, align: 'center', edit: true}
        //             , {field: 'starttime', title: '开始时间', width: 100, align: 'center', edit: true}
        //             , {field: 'endtime', title: '结束时间', width: 100, align: 'center', edit: true}
        //
        //             , {field: 'remark', title: '备注', width: 80, align: 'center', edit: true}
        //             , {title: '操作', width: 100, align: 'left', toolbar: '#opera'}
        //
        //         ]]
        //         , request: {
        //             type: 'post'
        //         }
        //         , page: false
        //         , where: {
        //             name: $('#name').val(),
        //             code: ''
        //         }
        //         , even: true //开启隔行背景
        //         , done: function (res, page, count) {
        //         }
        //
        //     });
        //     _table = table;
        //
        // });
        // //监听工具条
        // _table.on('tool(configureList)', function (obj) {
        //     var data = obj.data;
        //     if (obj.event === 'tijiao') {
        //         openWin();
        //
        //     }
        // });

    }

    function openWin() {
        layer.open({
            type: 2,
            title: '模板添加',
            shadeClose: true,
            shade: 0.5,
            area: ['400', '300'],
            content: 'edit'
        });
    }

    function search() {

        this._table.reload('configureList', {

            where: {
                name: $("#name").val(),
                code: ''
            }
        });
    }

    function save(type) {
        var starttime = $('#starttime').val();
        var endtime = $('#endtime').val();
        var id = window.frontId;
        if (type == 2) {

            starttime = $('#nowstarttime').val();
            endtime = $('#nowendtime').val();
            id = window.nowId
        }
        if (!id && id <= 0) {
            return false;

        }
        var startDate = new Date(starttime);
        var endDate = new Date(endtime);
        if (startDate.getTime() > endDate.getTime()) {

            layer.msg('开始时间不能大于结束时间', {icon: 0});
            return
        }

        var list = [{
            id: id,
            starttime: starttime,
            endtime: endtime,


        }];
        $.ajax({
            type: "POST",
            url: "save",
            data: {
                json: JSON.stringify(list)
            },
            beforeSend: function (XHR) {

            },
            success: function (data) {

                if (data > 0) {
                    layer.msg('保存成功', {icon: 1})

                } else {
                    layer.msg('保存失败', {icon: 0})

                }
            },
            complete: function (XHR) {

            },
            error: function () {

            }
        });
    }

    $.extend(Date.prototype, {
        // 获取当前时间的中文形式
        getCNDate: function () {
            /// <summary>
            /// 获取当前时间的中文形式
            /// </summary>
            var oDateText = '';
            oDateText += this.getFullYear().LenWithZero(4) + new Number(24180).ChrW();
            oDateText += this.getMonth().LenWithZero(2) + new Number(26376).ChrW();
            oDateText += this.getDate().LenWithZero(2) + new Number(26085).ChrW();
            oDateText += this.getHours().LenWithZero(2) + new Number(26102).ChrW();
            oDateText += this.getMinutes().LenWithZero(2) + new Number(20998).ChrW();
            oDateText += this.getSeconds().LenWithZero(2) + new Number(31186).ChrW();
            oDateText += new Number(32).ChrW() + new Number(32).ChrW() + new Number(26143).ChrW() + new Number(26399).ChrW() + new String('26085199682010819977222352011620845').substr(this.getDay() * 5, 5).ToInt().ChrW();
            return oDateText;
        },
        // 扩展Date格式化
        format: function (format) {
            /// <summary>
            /// 扩展Date格式化
            /// </summary>
            /// <param name="format" type="string">
            /// format信息
            /// </param>
            var o = {
                "M+": this.getMonth() + 1, //月份
                "d+": this.getDate(), //日
                "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
                "H+": this.getHours(), //小时
                "m+": this.getMinutes(), //分
                "s+": this.getSeconds(), //秒
                "q+": Math.floor((this.getMonth() + 3) / 3), //季度
                "S": this.getMilliseconds() //毫秒
            };
            var week = {
                "0": "\u65e5",
                "1": "\u4e00",
                "2": "\u4e8c",
                "3": "\u4e09",
                "4": "\u56db",
                "5": "\u4e94",
                "6": "\u516d"
            };
            if (/(y+)/.test(format)) {
                format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
            }
            if (/(E+)/.test(format)) {
                format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : "") + week[this.getDay() + ""]);
            }
            for (var k in o) {
                if (new RegExp("(" + k + ")").test(format)) {
                    format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
                }
            }
            return format;
        },
        //计算时差
        diff: function (interval, objDate) {
            //若参数不足或 objDate 不是日期类型則回传 undefined
            if (arguments.length < 2 || objDate.constructor != Date) {
                return undefined;
            }
            switch (interval) {
                //计算秒差
                case 's':
                    return parseInt((objDate - this) / 1000);
                //计算分差
                case 'n':
                    return parseInt((objDate - this) / 60000);
                //计算時差
                case 'h':
                    return parseInt((objDate - this) / 3600000);
                //计算日差
                case 'd':
                    return parseInt((objDate - this) / 86400000);
                //计算周差
                case 'w':
                    return parseInt((objDate - this) / (86400000 * 7));
                //计算月差
                case 'm':
                    return (objDate.getMonth() + 1) + ((objDate.getFullYear() - this.getFullYear()) * 12) - (this.getMonth() + 1);
                //计算年差
                case 'y':
                    return objDate.getFullYear() - this.getFullYear();
                //输入有误
                default:
                    return undefined;
            }
        },
        //增加时间
        add: function (interval, number) {
            var dtTmp = this;

            switch (interval) {
                //增加秒
                case 's':
                    return new Date(Date.parse(dtTmp) + (1000 * number));
                //增加分
                case 'n':
                    return new Date(Date.parse(dtTmp) + (60000 * number));
                //增加時
                case 'h':
                    return new Date(Date.parse(dtTmp) + (3600000 * number));
                //增加日
                case 'd':
                    return new Date(Date.parse(dtTmp) + (86400000 * number));
                //增加周
                case 'w':
                    return new Date(Date.parse(dtTmp) + ((86400000 * 7) * number));
                //增加季
                case 'q':
                    return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + number * 3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
                //增加月
                case 'm':
                    return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
                //增加年
                case 'y':
                    return new Date((dtTmp.getFullYear() + number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());

            }
        }
    })
</script>
</html>
